出错
maven项目,启动tomcat的时候报错:
1 | No MyBatis mapper was found in '[com.hisen.dao]' package |
这是由于把mybatis的mapper配置文件放在了java代码的目录下
目录结构
1 | ├── java |
出错原因
这是因为mapper文件的路径问题:maven在打包的时候默认是认为src/main/java目录下只有java源代码,不会管xml文件。
Java 项目分为两个部分,一个是源码,一个是资源,在使用maven等构建工具时,
默认会将源码编译后再加上资源目录的文件放到target目录下作为最后运行的文件(可以是war,jar,或者目录)。
有时为了方便,我们会在src/main/java源码目录下放了资源文件,例如mybatis的mapper文件,方便我们编程时展开查看。
这时,我们需要设置编译时也将这些配置文件放到target目录下,否则最后的target目录式没有这些文件的。
解决办法
在项目的pom文件里面配置,让maven也从src/main/java目录下读取xml配置文件
1 | <build> |
扩展
如果是把mapper文件什么的放在resources目录下
但是为了分类建了不同的文件夹,也需要修改配置文件,不然会读取不到
1 | <build> |